package wpwork.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 工作人员作业记录实体类 (对应表: work_personjob)
 */
@Data
@TableName("work_personjob")
public class WorkPersonJobEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自然主键
     */
    @TableId(value = "f_id", type = IdType.NONE)
    private String id;

    /**
     * 作业类别：考勤、巡检
     */
    @TableField("f_type")
    private String type;

    /**
     * 作业资源ID
     */
    @TableField("f_resources_id")
    private String resourcesId;

    /**
     * 作业执行人编号
     */
    @TableField("f_job_user_id")
    private String jobUserId;

    /**
     * 上传图片信息 (JSON 格式存储)
     */
    @TableField("f_imageurl")
    private String imageurl;

    /**
     * 上传视频信息 (JSON 格式存储)
     */
    @TableField("f_videourl")
    private String videourl;

    /**
     * 作业执行信息 (JSON 格式存储)
     */
    @TableField("f_jobinfo")
    private String jobinfo;

    /**
     * 备注
     */
    @TableField("f_remark")
    private String remark;

    /**
     * 有效标志 (0-禁用, 1-启用)
     */
    @TableField("f_enabled_mark")
    private Integer enabledMark;

    /**
     * 排序码
     */
    @TableField("f_sort_code")
    private Long sortCode;

    /**
     * 创建时间
     */
    @TableField("f_creator_time")
    private Date creatorTime;

    /**
     * 创建用户ID
     */
    @TableField("f_creator_user_id")
    private String creatorUserId;

    /**
     * 最后修改时间
     */
    @TableField("f_last_modify_time")
    private Date lastModifyTime;

    /**
     * 最后修改用户ID
     */
    @TableField("f_last_modify_user_id")
    private String lastModifyUserId;

    /**
     * 删除时间
     */
    @TableField("f_delete_time")
    private Date deleteTime;

    /**
     * 删除用户ID
     */
    @TableField("f_delete_user_id")
    private String deleteUserId;

    /**
     * 删除标志 (软删除标记)
     */
    @TableField("f_delete_mark")
    private Integer deleteMark;

    /**
     * 租户ID（用于多租户）
     */
    @TableField("f_tenant_id")
    private String tenantId;

    /**
     * 执行日期（仅日期部分，如 2025-09-23）
     */
    @TableField("f_execution_date")
    private Date executionDate;

    @TableField("f_location")
    private String location;

    @TableField("f_begindate")
    private Date begindate;

    @TableField("f_enddate")
    private Date enddate;

    @TableField("f_text")
    private String text;

    @TableField("f_execution_status")
    private String executionStatus;

    @TableField("f_instantperson")
    private int instantperson;

    /**
     * 执行时间
     */
    @TableField("f_execution_time")
    private Date executionTime;

    /**
     * 执行时地理位置信息
     */
    @TableField("f_execution_location")
    private String executionLocation;

    @TableField("f_location_desc")
    private String locationDesc;

    @TableField("f_task_number")
    private String taskNumber;

}